package com.isoftstone.userinfo.repository;

import com.isoftstone.platform.entity.PagingBean;
import com.isoftstone.platform.model.entity.PtUserEntity;
import com.isoftstone.platform.tag.entity.SelectTagEntity;
import com.isoftstone.userinfo.entity.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository("userInfoDao2")
public interface UserInfoDao {
    List<UserInfoTreeEntity> queryUserInfoZtreeList(@Param("id") String id);

    List<PtUserEntity> getUserInfolistByPage(@Param("search") SearchUserInfoEntity search,@Param("paging") PagingBean pagingBean);

    void updateUserDail(@Param("user") PtUserEntity ptUserEntity);

    Integer getUserInfolistTotal(@Param("search")SearchUserInfoEntity search);

    List<PtUserEntity> queryUserInfoById();

    void addUserInfo(@Param("user") PtUserEntity ptUserEntity);

    List<UserOrgan> queryUserOrganByUseruuid(@Param("userUuid")String userUuid);

    List<UserRole> queryUserRoleByUseruuid(@Param("userUuid")String userUuid);

    List<RoleTreeEntity> queryRoleInfoZtreeList(@Param("id") String id);

    void bondRoleUser(@Param("roleUuid") String roleUuid,@Param("userUuid")String userUuid);

    void cancelRoleBound(@Param("userUuid") String userUuid);

    void deleteUserInfo(@Param("ids") String[] idArray);

    List<SelectTagEntity> queryTagElementList();
}
